#pragma once
#include<iostream>
#include<vector>
#include<functional>
#include<unordered_map>
#include<time.h>

using namespace std;

void func1()
{
    std::cout<<"数据入库..."<<std::endl;
}
void func2()
{
    std::cout<<"打印日志..."<<std::endl;
}
void func3()
{
    std::cout<<"建立连接..."<<std::endl;
}

class TaskManger
{
    typedef function<void()> _task_t;
public:
    TaskManger()
    {
        srand(time(nullptr));
        InsertTask(func1);
        InsertTask(func2);
        InsertTask(func3);
    }
    void InsertTask(_task_t t)
    {
        _tasks.emplace_back(t);
    }

    _task_t GetTask()
    {
        return _tasks[rand()%_tasks.size()];
    }

    ~TaskManger()
    {
    }
private:
    vector<_task_t> _tasks;
};


